<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<link rel="stylesheet" type="text/css" href="format.css" />
	<title>Zarządzanie kategoriami</title>
</h:head>
<h:body>
	<ui:composition template="template.xhtml">
		<ui:define name="ui_right">
			<h:form id="form1">


				<p:panelGrid columns="1" rendered="#{userLoginBean.user.isAdmin()}">
					<f:facet name="header">
					Lista kategorii
					</f:facet>

					<p:dataTable id="kategorie" value="#{categoryBean.allCategories}"
						paginator="true" rows="5" rowsPerPageTemplate="5, 10, 15" var="c"
						rowKey="#{c.name}">

						<p:column headerText="Nazwa" sortBy="#{c.name}"
							style="width:300px;">

	       					#{c.name}
	       				
						</p:column>

						<p:column headerText="Czy aktywne" style="width:200px;">

							<h:outputText value="Tak" rendered="#{c.active}"></h:outputText>
							<h:outputText value="Nie" rendered="#{!c.active}"></h:outputText>

						</p:column>

						<p:column headerText="Kategoria nadrzędna">

									#{c.parentCategory}
								<p:commandButton value="Edytuj" ajax="true"
								style="float:right; right:5px;"
								oncomplete="editingParentCategoryDialog.show()"
								update=":form1:dialog3">
								<f:setPropertyActionListener
									target="#{categoryBean.selectedCategory}" value="#{c}"></f:setPropertyActionListener>
							</p:commandButton>
						</p:column>

						<p:column headerText="Edytuj kategorię">
							<p:commandButton value="Edytuj" ajax="true"
								style="margin-left:5px;"
								oncomplete="editingCategoryDialog.show()" update=":form1:dialog">
								<f:setPropertyActionListener
									target="#{categoryBean.selectedCategoryEdit}" value="#{c}"></f:setPropertyActionListener>
							</p:commandButton>
						</p:column>
						<p:column headerText="Usuń">
							<p:commandButton value="Usuń" ajax="true"
								style="margin-left:5px;"
								oncomplete="deletingCategoryDialog.show()"
								update=":form1:dialog4">
								<f:setPropertyActionListener
									target="#{categoryBean.selectedCategoryDelete}" value="#{c}"></f:setPropertyActionListener>
							</p:commandButton>
						</p:column>


						<f:facet name="footer">
							<p:commandButton value="Dodaj"
								oncomplete="addingCategoryDialog.show()" />
						</f:facet>
					</p:dataTable>
				</p:panelGrid>


				<p:dialog id="dialog" header="Edytuj kategorię" dynamic="false"
					widgetVar="editingCategoryDialog" resizable="true" width="850"
					showEffect="clip" hideEffect="fold">
					<p:messages for="adding" id="msgs2" />
					<p:panelGrid columns="3" style="width:690px;"
						rendered="#{userLoginBean.user.isAdmin()}">

						<f:facet name="header">
							Edytuj kategorię
						</f:facet>

						<h:outputText value="Nazwa kategorii" />
						<h:inputText value="#{categoryBean.selectedCategoryEdit.name}" />
						<h:outputText value="" />

						<h:outputText value="Aktywny" />
						<p:selectOneMenu
							value="#{categoryBean.selectedCategoryEdit.active}">
							<f:selectItem itemLabel="Tak" itemValue="true" />
							<f:selectItem itemLabel="Nie" itemValue="false" />
						</p:selectOneMenu>

						<h:inputHidden
							value="#{categoryBean.selectedCategoryEdit.category_id}" />

						<p:commandButton value="Anuluj"
							oncomplete="editingCategoryDialog.hide();" />
						<p:commandButton value="Edytuj" action="#{categoryBean.tryEdit}"
							ajax="true" update="msgs2, :form1:kategorie" />

					</p:panelGrid>
				</p:dialog>

				<p:dialog id="dialog3" header="Edytuj kategorię nadrzędną"
					dynamic="false" widgetVar="editingParentCategoryDialog"
					resizable="true" width="850" showEffect="clip" hideEffect="fold">
					<p:messages for="adding" id="msgs3" />
					<p:panelGrid columns="3" style="width:690px;"
						rendered="#{userLoginBean.user.isAdmin()}">
						<f:facet name="header">
							Edytuj kategorię nadrzędną
						</f:facet>

						<h:outputText value="Nazwa edytowanej kategorii" />
						<h:outputText value="#{categoryBean.selectedCategory.name}" />
						<h:inputHidden value="#{categoryBean.selectedCategory.name}" />

						<h:outputText value="Kategoria nadrzędna" />
						<p:selectOneMenu value="#{categoryBean.editParentName}">
							<f:selectItem itemValue="" itemLabel="Brak kategorii nadrzędnej" />
							<f:selectItems value="#{categoryBean.allCategories}" />
						</p:selectOneMenu>
						<h:inputHidden
							value="#{categoryBean.selectedCategory.category_id}" />


						<p:commandButton value="Anuluj"
							oncomplete="editingParentCategoryDialog.hide();" />
						<p:commandButton value="Edytuj" ajax="true"
							action="#{categoryBean.tryEditParent}"
							update="msgs3, :form1:kategorie" />


					</p:panelGrid>

				</p:dialog>
				<p:dialog id="dialog2" header="Dodaj kategorię"
					widgetVar="addingCategoryDialog" resizable="true" width="850"
					showEffect="clip" hideEffect="fold">
					<p:messages for="adding" id="msgs" />
					<p:panelGrid columns="2" style="width:690px;"
						rendered="#{userLoginBean.user.isAdmin()}">
						<f:facet name="header">
							Dodaj kategorię
						</f:facet>

						<h:outputText value="Nazwa kategorii" />
						<p:inputText value="#{categoryBean.addedCategory}" />

						<h:outputText value="Kategoria nadrzędna" />
						<p:selectOneMenu value="#{categoryBean.parentName}">
							<f:selectItem itemValue="" itemLabel="Brak kategorii nadrzędnej" />
							<f:selectItems value="#{categoryBean.allCategories}" />
						</p:selectOneMenu>

						<h:outputText value="Aktywny" />
						<p:selectOneMenu value="#{categoryBean.active}">
							<f:selectItem itemLabel="Tak" itemValue="true" />
							<f:selectItem itemLabel="Nie" itemValue="false" />
						</p:selectOneMenu>


						<p:commandButton value="Anuluj"
							oncomplete="addingCategoryDialog.hide();" />
						<p:commandButton value="Dodaj" action="#{categoryBean.tryAdd}"
							ajax="true" update="msgs, :form1:kategorie" />

					</p:panelGrid>

				</p:dialog>


				<p:dialog id="dialog4" header="Usuń kategorię"
					widgetVar="deletingCategoryDialog" resizable="true" width="450"
					showEffect="clip" hideEffect="fold">
					<p:messages id="msgs4" for="deleting"/>
					<p:panelGrid columns="1">
						<h:inputHidden
							value="#{categoryBean.selectedCategoryDelete.category_id}" />
						<h:outputText
							value="Operacja usunie kategorię z bazy danych. Czy na pewno chcesz kontynuować?" />
						<p:panelGrid columns="2">
							<p:commandButton value="Usuń" ajax="true"
								style="margin-left:5px;" action="#{categoryBean.deleteCategory}"
								update=":form1:kategorie, msgs4">
							</p:commandButton>
							<p:commandButton value="Anuluj"
								oncomplete="deletingCategoryDialog.hide();" />
						</p:panelGrid>
					</p:panelGrid>
				</p:dialog>
				<h:panelGrid rendered="#{!userLoginBean.user.isAdmin()}">
					<h3>Nie masz uprawnień do przeglądania tej strony!</h3>
				</h:panelGrid>
				
			</h:form>
		</ui:define>
	</ui:composition>
</h:body>
</html>
